package com.iqiyi.pps.epg.api.server.iservice;

import com.iqiyi.mams.hedvig.http.mediatype.ExtendedMediaType;

import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;

/**
 * Created by karkarrotxu on 2017/7/31.
 */
@Path("/ticket")
@Produces({ExtendedMediaType.APPLICATION_X_THRIFT})
public interface TicketApiService {
    @POST
    @Path("/logList")
    @Produces(MediaType.APPLICATION_JSON)
    public String getLogList(@FormParam("id") String entityId,
                                @FormParam("pageNo") Integer pageNo,
                                @FormParam("pageSize") Integer pageSize);

    @POST
    @Path("/logList/filter")
    @Produces(MediaType.APPLICATION_JSON)
    public String getLogListByFilter(@FormParam("paramsObj") String paramsObj, @FormParam("pageNo") Integer pageNo, @FormParam("pageSize") Integer pageSize);

    @POST
    @Path("/data/add")
    @Produces(MediaType.APPLICATION_JSON)
    public String addTicketData( @FormParam("data") String dataString );

    @POST
    @Path("/data/interrupt")
    @Produces(MediaType.APPLICATION_JSON)
    public String cancelTicketData( @FormParam("data") String dataString );

    @POST
    @Path("/data/edit")
    @Produces(MediaType.APPLICATION_JSON)
    public String editTicketData( @FormParam("data") String dataString );

    @POST
    @Path("/data/list")
    @Produces(MediaType.APPLICATION_JSON)
    public String getTicketDataList(@FormParam("paramsObj") String paramsObj,
                                   @FormParam("pageNo") Integer pageNo,
                                   @FormParam("pageSize") Integer pageSize,
                                   @FormParam("orderObj") String orderObj);

    @POST
    @Path("/data/assign")
    @Produces(MediaType.APPLICATION_JSON)
    public String assignTickData(@FormParam("id") String id,@FormParam("executor") String executor);

    @POST
    @Path("/checkList")
    @Produces(MediaType.APPLICATION_JSON)
    public String getCheckList(@FormParam("dataId") String dataId);

    @POST
    @Path("/checkList/submit")
    @Produces(MediaType.APPLICATION_JSON)
    public String submitLiveCheck(@FormParam("data") String dataString);

    @GET
    @Path("/configs/query")
    @Produces(MediaType.APPLICATION_JSON)
    public String queryConfigs(@QueryParam("paramsObj") String paramsObj) ;
}
